package cn.chengpengper.transfer.window;

import cn.chengpengper.transfer.ui.TranslatorWindow;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowFactory;
import com.intellij.ui.content.Content;
import com.intellij.ui.content.ContentFactory;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class TranslatorToolsWindow implements ToolWindowFactory {

    private static JTable table;

    @Override
    public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) {
        // ContentFactory 在 IDEA 中负责 UI 的管理
        ContentFactory contentFactory = ContentFactory.getInstance();
        // 创建工具栏界面，TranslatorNote 是基于Swing实现的一个窗口视图
        TranslatorWindow note = new TranslatorWindow();
        table = note.getNoteTable();
        // 在界面工厂中创建翻译插件的界面
        Content content = contentFactory.createContent(note.getMainPanel(), "", false);
        // 将被界面工厂代理后创建的 content 添加到工具栏窗口管理器中
        toolWindow.getContentManager().addContent(content);
    }

    public static void addNote(String from, String to) {
        if (table == null) {
            return;
        }
        DefaultTableModel model = ((DefaultTableModel) table.getModel());
        model.addRow(new Object[]{from, to});
    }
}
